Notes/Domino 6 and 7 Forum

Notes/Domino 6 and 7 Forum

Domino - C API - Extension Manager and Linux
~Hank Chufreeman 01/27/2004 09:35 PM
Toolkits 6.5 Linux - RedHat

I am having a problem with Domino and I need some high power help in resolving it.

I am creating a domino function that will run on all of our mail servers, part of the function involves the C API's for Extension Manager - this function will catch any email that has a file attachment and temporally mark that email as "Dead", and tag the email for my second function. The second function is a C API Add-in task, that will read the tagged emails, Extract and send the file attachments to a central storage site that is web accessible, while replacing the attachment with a URL to the attachment. Once this is done, the email is revived and the domino Router will catch it and send it on its way to the recipients. So far I have all this working on an AIX box, and I have been asked to port the code to Linux. Now here comes my problems - Mind you I am new to Linux so I'm not quite sure what is going on.

First Problem -
I ported the code over to Linux, created new Make files for Linux, re-compiled the functions, (I had some minor problems with the Notes Shared Libraries, that was resolved via a Tech Note - Creating Symbolic links to the Libraries). The first thing I do in both functions is to write a message to the log that says it's in the function, When I re-start the server, there is no indication that notes is aware of the extension manager function, the Notes.ini has the proper entries for the Extension Manager function. The Add-In portion of my function runs without a problem.

I stepped back from my function and went to the sample C API programs that Notes provides, I compiled the Extension manager "extpsw" sample, and I'm getting the same behavior from that function as well. Mind you this is a brand new Domino Linux server that was just built for my testing, so this is the first time for everything on this box. I had tried the gcc compiler and the g++ compiler on both my code and on the C API sample code and had gotten the same results when I booted the server. I'm thinking the problem lies in the linking of the main entry point in the functions, do these entry points need something specific to linux? I have not seen anything to that effect. and this would not explain why the sample program did not work. I have done this in AIX and it works there.

Can anybody suggest a next step for resolving this problem?

Second problem -
I have a Java agent, whose job is to send emails to test my functions. the agent runs in a loop to send multiple emails, one after the other for stress testing. When I run the agent without the Extension manager function on the server, the agent runs fine, looping the desired times and everything is fine. When the Extension Manager function is active, the Java agent sends the first email and seems to stop there. My extension manager function works as does the Add-in task. In my mind there is some type of internal Notes hook that occurs between the two functions that stops the agent, but I'm not sure why. The Extension Manager function returns the EM_ERR_CONTINUE code to let the invoking function continue on its way after my processing, so from my thinking the Java agent should not be stopping. So far this only occurs on AIX, since I have not gotten Linux working yet.

Can anyone shed any light on what is going on?

Go back